package com.healthcloud.service.questionnaire.impl;

import com.healthcloud.entity.questionnaire.*;
import com.healthcloud.service.questionnaire.*;
import com.healthcloud.utils.PageParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 问卷
 * @author zhangjie
 */
@Service
public class QuestionnaireServiceImpl implements QuestionnaireService {

    @Autowired
    private QuestionnaireTitleService questionnaireTitleService;

    @Autowired
    private QuestionnaireSubtitleService questionnaireSubtitleService;

    @Autowired
    private QuestionnaireQuestionService questionnaireQuestionService;

    @Autowired
    private QuestionnaireRecordService questionnaireRecordService;

    @Autowired
    private QuestionnaireResultService questionnaireResultService;

    @Autowired
    private QuestionnaireOptionService questionnaireOptionService;

    @Override
    public List<QuestionnaireTitleEntity> queryListTitle(QuestionnaireTitleEntity entity, PageParam pageParam) {
        return questionnaireTitleService.queryList(entity, pageParam);
    }

    @Override
    public List<QuestionnaireSubtitleEntity> queryListSubtitle(QuestionnaireSubtitleEntity entity, PageParam pageParam) {
        return questionnaireSubtitleService.queryList(entity,pageParam);
    }

    @Override
    public List<QuestionnaireQuestionEntity> queryListQuestion(QuestionnaireQuestionEntity entity, PageParam pageParam) {
        return null;
    }

    @Override
    public List<QuestionnaireQuestionVo> queryListQuestionVo(QuestionnaireQuestionEntity entity, PageParam pageParam) {
        return questionnaireQuestionService.queryListVo(entity, pageParam);
    }

    @Override
    public List<QuestionnaireRecordVo> queryListRecordVo(QuestionnaireRecordVo recordVo, PageParam pageParam) {
        return questionnaireRecordService.queryListVo(recordVo, pageParam);
    }

    @Override
    public int queryTotalRecordVo(QuestionnaireRecordVo recordVo) {
        return questionnaireRecordService.queryTotalVo(recordVo);
    }

    @Override
    public void add(QuestionnaireRecordVo recordVo) {
        questionnaireRecordService.save(recordVo);
        questionnaireResultService.save(recordVo.getResults(), recordVo.getId());
    }

    @Override
    public List<QuestionnaireResultEntity> queryListResult(QuestionnaireResultVo resultVo, PageParam pageParam) {
        return questionnaireResultService.queryListVo(resultVo, pageParam);
    }

    @Override
    public List<QuestionnaireOptionEntity> queryListOption(QuestionnaireOptionEntity option, PageParam pageParam) {
        return questionnaireOptionService.queryList(option, pageParam);
    }

    @Override
    public void saveTitle(QuestionnaireTitleEntity title) {
        questionnaireTitleService.save(title);
    }

    @Override
    public void saveSubtitle(QuestionnaireSubtitleEntity subtitle) {
        questionnaireSubtitleService.save(subtitle);
    }

    @Override
    public void saveQuestion(QuestionnaireQuestionEntity question) {
        questionnaireQuestionService.save(question);
    }

    @Override
    public void saveOption(QuestionnaireOptionEntity option) {
        questionnaireOptionService.save(option);
    }

}
